搞了一段时间的MOSS,在安装部署是经常会用到命令行来完成,这些命令用的时候不是太熟,故将用到的都记录下来,免得以后混淆。
注意:使用命令行的前提是,路径必须是指定到C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN目录下。
步骤:1.Ctrl+R → Cmd → cd C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN
1.solution的安装、部署与卸载:
安装:stsadm.exe -o addsolution -filename c:\gqx.wsp(文件路径)
部署:stsadm.exe -o deploysolution -name gqx.wsp -allowgacdeployment –immediate
卸载:stsadm.exe -o deletesolution -name gqx.wsp -override(强制删除时用-override)
以上命令是我暂时用过的,特在此整理,以下链接中有更详细的命令,需要时可参考:
http://www.cnblogs.com/LeimOO/archive/2008/10/06/1304905.html
2.站点的备份与还原:
备份:stsadm.exe -o backup -url http://moss:2012 -filename c:\fileName.bak –overwrite
说明:将站点http://moss:2012备份到C盘根目录,备份文件的名称为:fileName.bak
还原:stsadm.exe -o restore -url http://moss:2012 -filename c:\fileName.bak –overwrite
说明:将C盘根目录下面的fileName.bak文件恢复到http://moss:2012的站点上。(这里的http://moss:2012站点是我们要恢复的站点,是我们自己定义的,可以是任意的moss站点。)
以下链接中有详细的讲解,需要时可以参考:
http://blog.csdn.net/stormlly/article/details/2449623
3.将网站模板添加到库中:
备份网站模板:网站操作 → 网站设置 → 将网站另存为模板 → (填写模板信息) → 确定
下载网站模板:网站操作 → 库(解决方案) → 下载我们的模板
添加模板到库:stsadm.exe -o addtemplate -filename Template_File_Name -titleTemplate_Title [-description Template_Description]
4.自动部署项目到站点:
"C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe" -o retractsolution -name "gqx.wsp" -immediate –allcontenturls
"C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe" -o execadmsvcjobs
"C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe" -o deletesolution -name "gqx.wsp"
"C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe" -o execadmsvcjobs
"C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe" -o addsolution -filename "gqx.wsp"
"C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe" -o execadmsvcjobs
"C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe" -o deploysolution -name "gqx.wsp" -immediate -allcontenturls -allowGacDeployment -allowCasPolicies –force
"C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe" -o execadmsvcjobs
(以上文本是在sharepoint2007中部署项目,直接将文本复制粘贴到Notepad中,将文件后缀改为”.bat”后直接运行就可以实现部署wsp了,记得需要将文件复制到bat文件所在的目录。)
暂时只用到了这些,以后会有更多,到时候用到了就会更新上来,以后慢慢看。
悲催了,为了装系统将PC中的所有的软件及资料都拷贝到了移动硬盘中,可谁知道,一不小心,移动硬盘出现了数据丢失的问题,当鼠标点击移动硬盘时会报出“使用驱动器*:中的光盘之前需要将其格式化”的错误,此时此刻,正是感到郁闷到家了,硬盘里的数据不能丢,唯一的办法就是使用其他工具找回移动硬盘中的文件。试了很多种方法,唯一解决问题的就是使用ghost32.exe工具经行恢复,具体做法如下:
1,下载Symantec Ghost文件,
2,解压该文件,运行“Ghost32.exe”,
3,选择菜单中的“Local”--“Partition”--“To Imaga”,
4,选择要制作镜像的源文件(就是我们的移动硬盘),
5,选择保存地址(保存地址的空间一定要大于我们的源文件的大小)。
6,等待制作镜像……
7,镜像制作好后,运行“GhostExp.exe”,
8,打开“Ghost Explorer”,使用“Ghost Explorer”打开刚刚制作的镜像文件,
9,将镜像文件转移出来,我们的数据得以恢复。
10,格式化移动硬盘,我们的问题解决了。
一:SQL SERVER 2008中定时备份数据库任务
每次去给客户部署项目时,都会涉及到数据可的备份问题,即将项目数据库进行定时备份,以便于保护数据,具体的步骤如下:
1,打开SqlServerManagement Studo,连接到数据库实例,打开”对象资源管理器”;
2,在”管理”中找到”维护计划”,右键”维护计划”点击”新建维护计划”,在弹出的对话框中输入维护计划名称,单击”确定”后,在左边的工具箱中将"备份数据库任务"拖到中间大片的空白区域(这个区域会有提示信息),双击拖出来的”备份数据库任务”(如果使用右键菜单的话,右键后点击”编辑”);
3,在弹出的窗口中选择连接,备份类型,数据库,备份地址,文件名称;
4,设计完上面的备份计划后, 你也可以单击"T-SQL", 看看sql大致会用什么样的语句来处理你的需求,单击"确定";
5,单击"计划"后面的"..."按钮, 设置执行的时间计划;
6,保存.
二:属性ErrorLogFile 不可用于JobServer“[SERVER]......”的问题时的解决方案
我们在执行备份的数据库的时候有时也会出现一些问题,最常见的就是:属性ErrorLogFile 不可用于JobServer“[SERVER]......”,针对于这个问题的解决方案如下:
1,Windows+R,在弹出的对话框中输入”regdeit”;
2,在打开的窗口中依次找到:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.MSSQLSERVER\SQLServerAgent;
3,在此添加新的键值对:键---“ErrorLogFile”,类型----“REG_SZ”,值----“C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\JOBS”;
4,退出对话框,问题解决.
当我们把计算机加入到域中后,我们的计算机就会受到域的统一管理,而server系统作为服务器系统,它的安全系数很高,比如它的密码要求是强密码,要使用特殊字符组成的字符串作为密码,而且长度也有限制.但我们加入域中的计算机的密码希望是简单一些的,这时候我们就需要更改域中的密码策略来实现.
具体做法就是:打开”本地策略编辑器”----“windows设置”------“安全设置”-------“账户策略”------“密码策略”,然后就可以根据自己的需要来进行更改了.但是当我们点击任何一项来进行更改时我们会发现,它们的属性都是不可编辑的,这是怎么回事呢?原因是我们更改的是本地的策略,而此时的计算机是在域中,收到域的管理的.所以要想将这个问题解决掉,我们必须在域中来进行更改.这样才能解决我们的问题.具体做法如下:
1.安装gpmc(server2008自带的,我们只要简单的安装就好了),步骤为:
方案一:使用服务器管理器用户界面安装 gpmc:
a.单击“开始”,然后指向“管理工具”。单击“服务器管理器”。
b.在控制台树中,单击“功能”。在“功能”窗格中,单击“添加功能”。
c.在“添加功能向导”对话框中,从可用功能列表中选择“组策略管理控制台”。单击“安装”。
d.安装完成后,关闭“服务器管理器”.
方案二:使用命令行安装 gpmc:
a.以管理员身份打开命令提示符。
b.在命令提示符下键入 ServerManagerCmd -install gpmc。
c.安装完成后关闭命令提示符。
2.安装好gpmc后,我们windows+R打开运行窗口,输入gpmc.msc,然后就会弹出”组策略管理控制台”;
3.编辑里头的[组策略对象]→default domain policy即可,在这里有对应的密码策略,我们更改即可;
4.以管理员身份运行dos窗口,输入”gpupdate /force”强制更新策略.
5.关闭所有的相关窗口,现在你的密码策略已经设置成功了.你可以使用”gpedit.msc”打开本地策略查看,现在你的策略已经更改好了.
前段时间,有朋友问我关于序列化的问题,当时写了个列子给他,也算是完成了需求,但事后觉得还是有必要整理一下序列化方面的东西,以便理解和运用.
简单的概述序列化和反序列化就是:把对象转换为字节序列的过程就是序列化;把字节序列恢复为一个对象的过程就是反序列化.序列化的作用主要有两点,第一就是用于将对象写入硬盘来保存数据,第二就是用来在网络中传输数据.
以下是我关于序列化写的一些实例方法,主要是对象的序列化与反序列化问题.
序列化
1 /// <summary>
2 /// create by 鄂溪子 on 2011-05-17
3 /// </summary>
4 public class SerializableCs
5 {
6 /// <summary>
7 /// 将类序列化为一个文件
8 /// </summary>
9 public void SerizlizableFile<T>(T obj)
10 {
11 IFormatter formatter = new BinaryFormatter();
12 Stream stream = new FileStream(@"c:\t.xml", FileMode.Create,FileAccess.Write, FileShare.None);
13 formatter.Serialize(stream, obj);
14 stream.Close();
15 }
16
17 /// <summary>
18 /// 将一个类文件反序列化
19 /// </summary>
20 public T DeserializeFile<T>(T obj)
21 {
22 IFormatter formatter = new BinaryFormatter();
23 Stream stream = new FileStream(@"c:\t.xml", FileMode.Open, FileAccess.Read, FileShare.Read);
24 obj = (T)formatter.Deserialize(stream);
25 stream.Close();
26
27 return obj;
28 }
29
30 /// <summary>
31 /// 对象序列化为xml
32 /// </summary>
33 /// <typeparam name="T">需要序列化的对象类型</typeparam>
34 /// <param name="obj">将要序列化的对象,包括list集合</param>
35 /// <returns></returns>
36 public string ObjToXml<T>(T obj)
37 {
38 string resultstr = string.Empty;
39
40 if (obj != null)
41 {
42 try
43 {
44 using (StringWriter sw = new StringWriter())
45 {
46 XmlSerializer xz = new XmlSerializer(obj.GetType());
47 xz.Serialize(sw, obj);
48 resultstr = sw.ToString();
49 }
50 }
51 catch (Exception)
52 {
53 }
54
55 }
56 return resultstr;
57 }
58
59 /// <summary>
60 /// xml序列化为对象
61 /// </summary>
62 /// <typeparam name="T">对象类型</typeparam>
63 /// <param name="strxml">xml</param>
64 /// <returns>对象</returns>
65 public T XmlToObject<T>(string strxml)
66 {
67 if (strxml != null && strxml != string.Empty)
68 {
69 try
70 {
71 using (StringReader sr = new StringReader(strxml))
72 {
73 XmlSerializer xz = new XmlSerializer(typeof(T));
74 return ((T)xz.Deserialize(sr));
75 }
76 }
77 catch (Exception)
78 {
79 return default(T);
80 }
81
82 }
83 return default(T);
84
85 //该方法也可以将xml序列化为对象,但不能序列化为list集合
86 //using (MemoryStream stream = new MemoryStream())
87 //{
88 // using (StreamWriter sw = new StreamWriter(stream, Encoding.UTF8))
89 // {
90 // sw.Write(strxml);
91 // sw.Flush();
92 // stream.Seek(0, SeekOrigin.Begin);
93 // XmlSerializer serializer = new XmlSerializer(typeof(T));
94 // try
95 // {
96 // return ((T)serializer.Deserialize(stream));
97 // }
98 // catch (Exception)
99 // {
100 // return default(T);
101 // }
102 // }
103 //}
104 }
105
106 /// <summary>
107 /// 将对象或集合序列化为json
108 /// </summary>
109 /// <typeparam name="T"></typeparam>
110 /// <param name="obj"></param>
111 /// <returns></returns>
112 public string ObjToJosn<T>(T obj)
113 {
114 string resultjosn = string.Empty;
115
116 if (obj != null)
117 {
118 JavaScriptSerializer jss = new JavaScriptSerializer();
119 resultjosn = jss.Serialize(obj);
120 }
121
122 return resultjosn;
123 }
124
125 /// <summary>
126 /// 将json序列化为对象或集合
127 /// </summary>
128 /// <typeparam name="T"></typeparam>
129 /// <param name="josn"></param>
130 /// <returns></returns>
131 public T JosnToObj<T>(string josn)
132 {
133 if (josn != null && josn != string.Empty)
134 {
135 JavaScriptSerializer jss = new JavaScriptSerializer();
136 return ((T)jss.Deserialize(josn,typeof(T)));
137 }
138 return default(T);
139 }
140 }
以上代码,仅供参考.
